package com.naiterui.ehp.bp.security.service;

import com.naiterui.ehp.bp.security.utils.BaseJwtUser;
import com.naiterui.ehp.bp.security.vo.OnlineUserVO;
import java.util.List;

/**
 * @author 王泽浩
 * @date 2020/7/13 11:53 上午
 * @since 1.0.0
 */
public interface IOnlineUserService {

  /**
   * 保存在线用户信息
   *
   * @param baseJwtUser /
   * @param token       /
   */
  void save(BaseJwtUser baseJwtUser, String token);

  /**
   * 查询全部数据，不分页
   *
   * @param filter /
   * @return /
   */
  List<OnlineUserVO> getAll(String filter);

  /**
   * 踢出用户
   *
   * @param key /
   */
  void kickOut(String key);

  /**
   * 退出登录
   *
   * @param token /
   */
  void logout(String token);

  /**
   * 查询用户
   *
   * @param key /
   * @return /
   */
  OnlineUserVO getOne(String key);

  /**
   * 检测用户是否在之前已经登录，已经登录踢下线
   *
   * @param userName 用户名
   */
  void checkLoginOnUser(String userName, String igoreToken);

}
